#ifndef AST_EMPTY
#define AST_EMPTY
#include <string>
#include "node.h"

namespace AST {

    /**
     * Representação de Produção Vazia
     *
     * Existem alguns elementos que necessitam possuir uma representação de
     * produção vazia. Para isto, existe a estrutura que sempre é apresentada
     * quando não existem produções para captura naquele ponto.
     *
     * @category AST
     * @package  AST
     */
    class Empty : public Node {

    public:

        /**
         * Construtor
         *
         * Inicialização de nó de árvore abstrata de sintaxe que representa
         * conteúdos vazios. Estes conteúdos são utilizados quando não existe nó
         * para representar determinado conteúdo, como condicionais sem termo
         * representativo em caso de falha.
         */
        Empty();

        // Sobrescrita
        std::string toString(int);

    };

};

#endif

